(0) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
remove(x', Cons(x, xs)) → remove[Ite][True][Ite](!EQ(x', x), x', Cons(x, xs))
remove(x, Nil) → Nil
minsort(Cons(x, xs)) → appmin(x, xs, Cons(x, xs))
minsort(Nil) → Nil
appmin(min, Cons(x, xs), xs') → appmin[Ite][True][Ite](<(x, min), min, Cons(x, xs), xs')
appmin(min, Nil, xs) → Cons(min, minsort(remove(min, xs)))
notEmpty(Cons(x, xs)) → True
notEmpty(Nil) → False
goal(xs) → minsort(xs)
The (relative) TRS S consists of the following rules:
!EQ(S(x), S(y)) → !EQ(x, y)
!EQ(0, S(y)) → False
!EQ(S(x), 0) → False
!EQ(0, 0) → True
<(S(x), S(y)) → <(x, y)
<(0, S(y)) → True
<(x, 0) → False
remove[Ite][True][Ite](False, x', Cons(x, xs)) → Cons(x, remove(x', xs))
appmin[Ite][True][Ite](True, min, Cons(x, xs), xs') → appmin(x, xs, xs')
remove[Ite][True][Ite](True, x', Cons(x, xs)) → xs
appmin[Ite][True][Ite](False, min, Cons(x, xs), xs') → appmin(min, xs, xs')
Rewrite Strategy: INNERMOST
(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
remove(0, Cons(S(y18_1), xs)) →+ Cons(S(y18_1), remove(0, xs))
gives rise to a decreasing loop by considering the right hand sides subterm at position [1].
The pumping substitution is [xs / Cons(S(y18_1), xs)].
The result substitution is [ ].
(2) BOUNDS(n^1, INF)